summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/GameIconRequestHandler.kt
blob: f5a535327cca7c0ea906185c17811041997f7d56 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package org.yuzu.yuzu_emu.utils

import android.graphics.BitmapFactory
import com.squareup.picasso.Picasso
import com.squareup.picasso.Request
import com.squareup.picasso.RequestHandler
import org.yuzu.yuzu_emu.NativeLibrary

class GameIconRequestHandler : RequestHandler() {
    override fun canHandleRequest(data: Request): Boolean {
        return "content" == data.uri.scheme
    }

    override fun load(request: Request, networkPolicy: Int): Result {
        val gamePath = request.uri.toString()
        val data = NativeLibrary.GetIcon(gamePath)
        val options = BitmapFactory.Options()
        options.inMutable = true
        val bitmap = BitmapFactory.decodeByteArray(data, 0, data.size, options)
        return Result(bitmap, Picasso.LoadedFrom.DISK)
    }
}